from utils.mongo_util import db


def find_depart_by_id(depart_id):
    # 第一步：查询部门信息获取userId列表
    depart_doc = db['sys_depart'].find_one(
        {'id': int(depart_id)}
    )

    return depart_doc


def find_depart_by_name(depart_name):
    """
    根据部门名称模糊查询所有匹配的部门，只返回id和name字段
    
    参数:
        depart_name: 部门名称关键词
        
    返回:
        包含id和name字段的部门列表
    """
    # 使用正则表达式进行模糊查询，i表示不区分大小写
    # find方法返回游标，可以遍历多个结果
    # projection参数指定只返回id和name字段
    depart_cursor = db['sys_depart'].find(
        {'name': {'$regex': depart_name, '$options': 'i'}},
        projection={'_id': 0, 'id': 1, 'name': 1}
    )
    
    # 将游标转换为列表返回
    return list(depart_cursor)
